


// 创建屏幕对象
extern TFT_eSPI tft = TFT_eSPI(240*320);          
// tft画布
extern TFT_eSprite spr = TFT_eSprite(&tft);          // 用指向tft寄存器的指针实例化画布对象（还在内存中不可见）

// extern TFT_eSPI tft;   
// extern TFT_eSprite spr;

// tft屏幕初始化，设置显示方向，背景
extern void tft_init(){
  tft.init();
  tft.setRotation(0);
  tft.fillScreen(TFT_BLACK);
  tft.setTextColor(TFT_BLACK, TFT_WHITE);       // 设置字体颜色为黑色，背景为白色，这样文字就看不到边框
}

// 显示图片
extern bool tft_output(int16_t x, int16_t y, uint8_t w, uint8_t h, uint16_t *bitmap) { 
  if(y >= tft.height())
    return 0;                 //显示图像失败
  
  tft.pushImage(x, y, w, h, bitmap);
  return 1;
}


extern byte loadpace = 6;              // 进度条

extern void tft_loading(byte delayTime) {

  spr.setColorDepth(8);
  spr.createSprite(180, 50);                           // 创建一个像素180*50的画布
  spr.fillSprite(TFT_BLACK);

  spr.drawRoundRect(0, 0, 180, 16, 8, TFT_WHITE);     // 画圆角矩形框，左上角（0，0），长180， 高16，半径8，颜色白
  spr.fillRoundRect(2, 2, loadpace, 12, 8, TFT_WHITE);
  spr.setTextDatum(CC_DATUM);                                  // 文字基准，让文字居中
  spr.setTextColor(TFT_GREEN, TFT_BLACK);
  spr.drawString("Connecting to WiFi...", 90, 40, 2);          //(90, 40)  size=2
  spr.pushSprite(30, 130);                                      // 画布推到（30，130）显示
  spr.deleteSprite();                                         // 及时删除
  
  if(loadpace < 176)
    loadpace ++;

  delay(delayTime);
}


extern void tft_display_loading_complete(void) {
  while(loadpace < 120)                   //前半段慢一点
    tft_loading(2);
  
  while(loadpace < 176)                   //后半段快一点
    tft_loading(1);
}



extern void tft_display_layout() {
  tft.setViewport(0, 0, 240, 320);
  tft.fillScreen(TFT_WHITE);
  // tft.setTextColor(TFT_BLACK, TFT_WHITE);
  // tft.drawFastHLine(0, 80, 240, TFT_BLACK);
  // tft.drawFastHLine(0, 160, 240, TFT_BLACK);
  // tft.drawFastHLine(0, 240, 240, TFT_BLACK);
  // tft.drawFastHLine(320, 0, 240, TFT_BLACK);
}

